/*
 * @Author: lineCode 1145938682@qq.com
 * @Date: 2024-11-28 19:21:57
 * @LastEditors: lineCode
 * @LastEditTime: 2025-06-12 16:05:57
 * @FilePath: /backend/shorthand-modules/shorthand-modules-content/src/main/java/com/angus/modules/content/service/ICourseService.java
 */
package com.angus.modules.content.service;

import com.angus.modules.content.domain.Course;
import com.angus.modules.content.dto.AddCourseDto;

import java.util.List;

/**
 * @author liyanan
 * @date 2024/10/21 9:52 AM
 * @description
 */
public interface ICourseService {


    List<Course> getCourseList();

    List<Course> getUpCourseList(String type);

    Course addCourse(AddCourseDto dto);

    Course getById(Long id);

    List<Long> getByIds(List<Long> ids);

    boolean deleteByIds(List<Long> ids);

    void clearCourse(String courseCode, String type);
    void clearQuestion(String courseCode, String type);

    boolean modifyCourse(Course course);

    List<Course> getCourseByType(String type);

    boolean updateStatus(Long id, Integer value);

    void generateCNPExe(String courseCode);
    void generateCNWExe(String courseCode);

    void generateENPExe(String courseCode);
    void generateENWExe(String courseCode);

    void GenCNCourseSentenceStr(String courseCode);
    void GenENCourseSentenceStr(String courseCode);
    /**
     * 生成练习题
     * @param courseCode  课程 code
     * @param type 类型：CN、EN
     */
    void GenCourseExercises(String courseCode, String type);
}
